﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
/*
==============================================================================================
给你一个整数数组 nums ，其中总是存在 唯一的 一个最大整数 。

请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是，则返回 最大元素的下标 ，否则返回 -1 。

 

来源：力扣（LeetCode）
链接：https://leetcode.cn/problems/largest-number-at-least-twice-of-others
=================================================================================================
*/

int dominantIndex(int* nums, int numsSize) 
{
	int index = 0;
	if (numsSize == 1)
	{
		return 0;
	}
	else
	{
		int max1 = 0;
		int max2 = 0;
		for (int i = 0; i < numsSize; i++)
		{
			if (nums[i] > max1)
			{
				max2 = max1;           //更新最大值同时次大值也要更新
				max1 = nums[i];
				index = i;
			}
			else if (nums[i] > max2)
			{
				max2 = nums[i];
			}
		}
		if (max1 >= 2 * max2)
		{
			return index;
		}
		else
		{
			return -1;
		}
	}
}